package com.tiancheng.onecode.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @Author: kellen
 * @Description: 平台关联商户结算规则
 * @Date: create in 2024/12/13 15:42
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@TableName(value = "platform_merchant_settle_rule")
public class PlatformMerchantSettleRule extends BaseEntity {
    /**
     * 平台关联商户id
     */
    @NotBlank(message = "平台关联商户id不能为空")
    private Long platformMerchantId;
    /**
     * 机构支付通道
     */
    @NotNull(message = "机构支付通道不允许为空")
    private Long orgPaymentChannelId;
    /**
     * 规则编码
     */
    private String ruleCode;
    /**
     * 平台分佣百分比值
     */
    private BigDecimal platformPercent;
    /**
     * 清分周期类型：T=按日（如T+1），M=按月固定日（如每月10日）
     *
     */
    private String cycleType;
    /**
     * 清分周期值，cycle_type为T，cycle_value为1时代表T+1清分
     */
    private Integer cycleValue;
    /**
     * 规则状态：1=生效；2:作废
     *
     */
    private Integer ruleStatus;
    /**
     * 规则失效时间
     */
    private LocalDateTime expireDate;
    /**
     * 备注
     */
    private String remark;
}
